home *** CD-ROM | disk | FTP | other *** search
/ Aminet 5 / Aminet 5 - March 1995.iso / Aminet / mus / misc / ChipSaver131.lha / ChipSaver_v1.31 / ChipSaver.doc.english next >
Text File  |  1995-01-15  |  17KB  |  498 lines

  1.  
  2.  
  3.                             15 of January,1995
  4.  
  5.  
  6.  
  7.  
  8.                 ChipSaver V1.31 Alpha
  9.                 ---------------------
  10.  
  11.     This tool is for all those who like modules & use ExoticRipper,
  12. ProWizard,or any other ripping/converting program...
  13.  
  14. ------------------------------------------------------------------------------
  15. 1.3a:    This Version is a MAJOR BUG FIX from v1.1 (first release)
  16.  
  17. 1.31:   CS installing bug is fixed!!!Should work on all machines NOW!  :-)
  18.         [This doc & functions are exactly the same as 1.3a]
  19. ------------------------------------------------------------------------------
  20.  
  21.  
  22. Summary:            0. Overview
  23.                 1. How does it work?
  24.                 2. The CLI options
  25.                 3. The best way to use this tool
  26.                 4. Some technical info
  27.                 5. Installation
  28.                 6. Disclaimer/Distribution
  29.                 7. About ripping
  30.                 8. Comparison between Exoticboot/Chipsaver
  31.                 9. Bug Fixes from v1.1
  32.                 10. The end.
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42. 0. Overview
  43. -----------
  44.  
  45.     This Prog was originally an alternative for exotic ripper v2.22 's
  46. BOOT install option.It does the same job (** AND MORE **!!)but DURING THE RESET.
  47. I've sent it to the authors of ExoticRipper but they simply replied that they
  48. had now included a 'similar' option in Exotic v2.23:exoticRESET...OK,but they
  49. surely haven't read this doc,as ChipSaver does really MORE than just saving
  50. all chipmem to fastmem!!
  51.  
  52.     For those who got like me Exotic v2.23+,I insist:Chipsaver still can
  53. replace exoticRESET.The reasons of this:
  54.  
  55.     - 2 memory saving modes!
  56.  
  57.     - the clearmem/nofast option
  58.  
  59.     - Chipsaver is less detectable.(Exotic uses Cold/Coolcapture)
  60.  
  61.     - For people using Prowizard ,without having exotic (??),ChipSaver
  62.       provides them just what they need: a reset-save option!
  63.  
  64.     For the details just read this doc,you won't regret it! (really?)
  65.  
  66.  
  67. Why alpha?
  68. **********
  69. It's an alpha release...it should work correctly on any machine anyway.But
  70. I've only tested it on:
  71.         A500+     OS 2.0     1 Mb chip
  72.         A1200     OS 3.0        2 Mb chip/4 Mb fast
  73.  
  74.     but it should work even on 1.3 systems (??)
  75.  
  76. Anyway,I'll test on other configs later...beta-release??
  77.  
  78.  
  79. 1. How does it work??
  80. ---------------------
  81.     Chipsaver can be run by CLI or Workbench.
  82.  
  83. [ Workbench allows you only to install Chipsaver ]
  84. [ CLI allows parameters & more actions (remove etc.. see paragraph 2 later) ]
  85.  
  86. A message will tell you that the program is installed.You can continue
  87. using your system normally:the difference will appear during the next reset.
  88.  
  89. ***DURING RESET****
  90.  
  91. A green flash will appear:this proves that ChipSaver is here,that's all.If
  92. you don't do anything,then a Blue flash will come,and that's the sign of...
  93. the end of Chipsaver (OK! Let's see more interesting stuff!!)
  94.  
  95. After the green flash,the following combinations are tested:
  96.  
  97.     * Left mouse button (standard 'exotic-like' savemode)
  98.     * Joystick button   (Save mode2:CHIP protection)
  99.     * LMB+Joybutton     (Clearmem+Nofastmem option)
  100.  
  101. -------------------------------------------------------------------------------
  102.  
  103.              --- VERY IMPORTANT! READ THIS !---
  104.  
  105. When I say that these combinations are tested AFTER the green flash,I mean that
  106. there is *NO WAITING LOOP* (UNLIKE EXOTICRESET) :The test is instantaneous,and
  107. if nothing is pressed,the blue flash will appear (no operation).
  108.  
  109. *******************************************************************************
  110. *So If you want to use an option (for example LMB),DO NOT WAIT FOR THE GREEN  *
  111. *FLASH:  just KEEP PRESSING ON THE BUTTONS FROM THE BEGINNING OF THE RESET!!  *
  112. *                                          *
  113. *     Then you'll see the green flash & the operation will be done!           *
  114. *******************************************************************************
  115.  
  116. I had to say all this because users used to exoticreset just waited a few
  117. seconds after the flash before pressing the buttons!!Of course it didn't work
  118. as there is no testing loop!!(hehe pas vrai Gryzor??)
  119.  
  120. This is another difference between ExoticReset & ChipSaver:ExoticReset must be
  121. launched WHEN you want to rip.Chipsaver is ALWAYS here & doesn't slow your
  122. reset when you don't ask him some operation!...So you'll always be ready for
  123. any demo launched on your machine!!
  124.  
  125. -------------------------------------------------------------------------------
  126.  
  127.  let's for the details now!
  128.  
  129.     1.1 Left mouse button
  130.     ---------------------
  131.     Action:try to save Chipmem to fastmem.3 cases:
  132.  
  133.     * no fastmem:        ex: A500+ 1 Mb chipmem
  134.          Lower chip half will be copied>upper half
  135.  
  136.     * not enough fastmem:    ex: A1200 2 Mb chip/1 Mb fast (hi Xulax!)
  137.         As much chip as possible will be copied in fastmem
  138.  
  139.     * more fast than chip:    ex: A1200 2 Mb chip/3-4 Mb fast (me!!)
  140.         the best config for this of course...all chip saved!
  141.  
  142.     if any error occurs (never should),there'll be a red flash.
  143.  
  144.     During the copying,the screen flashes,reflecting what is copied...
  145.     (lots of blank/zero data will produce a black screen)
  146.             (looks like the ExoticBoot uh?)
  147.  
  148.     [hahaha ExoticReset saves from $F00...but Chipsaver saves from $E80]
  149.             (A gain of 128 bytes WOW!)
  150.  
  151.  
  152.     1.2 Joystick button
  153.     -------------------
  154.     Action:'Protect' xx% of chip memory. (80% by default)
  155.  
  156.     This is another method:the lower 80% of chip are allocated,so the
  157.     system won't trash them.this method is more useful for those who
  158.     only have chipmem:if they boot on a very 'light' disk,they'll just
  159.     launch exoticripper,and be able to scan 80% of chipmem,whereas the
  160.     Left mouse button option 'd only save 50% (half'n half).
  161.     Of course,this time,it's the upper chipmem zone that is trashed.
  162.  
  163.     Anyway it may be an alternative for experimented users if the LMB
  164.     option fails (separated sampledata for example).And also you can
  165.     just disassemble the code in chipmem with RIGHT addresses!
  166.     (non PC-relative/64 kb range code can be hard to read in the fastmem
  167.      copied image,no?)
  168.  
  169.     When finished,a YELLOW flash...
  170.  
  171.  
  172.  
  173.  
  174.     1.3 Left Mouse Button+Joystick button
  175.     -------------------------------------
  176.     Action: Clears all the Chipmem & the Fastmem
  177.         Disables Fastmem
  178.  
  179.     The 2 previous features are used AFTER the demo.This one is **BEFORE**.
  180.     
  181.     * Clear mem:same as Exotic's CM option (clear all free memchunks)
  182.         The ripper scans much more faster as the zones that weren't
  183.         used by the demo are 0 (skipped)
  184.  
  185.     * Disable fastmem:Only works with demos that use system to know
  186.         about the memory configuration.
  187.         Example:Sanity demos,using the S.O.S
  188.         (see at paragraph '4.some tech' for more info)
  189.  
  190.     then a WHITE flash
  191.  
  192.  
  193.     ADVANTAGE:
  194.         * disabling fastmem prevents the demos that (__CLEANLY__)
  195.             recognize fastmem from using this fastmem,so:
  196.  
  197.             -you can see how the demo works on a non-accelerated
  198.                                 machine...
  199.             -fastmem is not used,nor trashed,so you have more
  200.                 chances to see ChipSaver back at the next reset!
  201.  
  202.             -the demo will load EVERYTHING in chipmem,so you
  203.                 won't have for example very nice samples in
  204.                 chipmem,and a trashed partition in fastmem,
  205.                 which can happen with moduleformats with
  206.                 separated partition/samples (TFMX,The player
  207.                 5.0a/6.0a etc...)
  208.  
  209.             (so,ALWAYS use this feature before demo)
  210.  
  211. 2. The CLI options:
  212. -------------------
  213.     Well,let's go...
  214.  
  215. in all the following text,the ALLOCBUFFER we talk about may be created by
  216. ChipSaver/Exoticboot/ExoticReset,that doesn't make any difference...
  217.  
  218.  
  219.     * no option:Install Chipsaver,or tell its status if it's already done.
  220.  
  221.     * REMOVE:just...removes ChipSaver.(oh no!!why?don't do that !!)
  222.     
  223.     * FREEMEM:When you have finished with ripping,you may want to free
  224.         the big allocated buffer,that's all.
  225.  
  226.     * FORCE:When launched without parameters,ChipSaver tries to locate
  227.          itself at the highest address in chip/fast...if this zone 
  228.         is not free,the install will fail.Force just overrides this
  229.          and installs in an UNCLEAN way.(your system becomes unsafe...
  230.                 RESETTING seems to be the best solution)
  231.  
  232.     * SAVE:saves the buffer to disk for later use/scan.
  233.         Warning:the free space on disk is not calculated,so,have a look
  234.         first on your partition,and don't try to save your 2 Mb buffer
  235.         on a floppy anyway!
  236.         
  237.                 Syntax: Save "path:name"
  238.             ( **** QUOTATIONS MUST BE PRESENT **** )
  239.  
  240.     * PERCENT:set the percentage of chipmem to be protected when using
  241.         the Joybutton feature.Default is 80.minimal is 5% and maximal
  242.         is 90%.more/less than the limits will reset the value to 80%.
  243.  
  244.     it depends of you,and of the disk you boot on after the reset/save,to
  245.     see which value best matches your needs.For example,using a 1 mb
  246.     chipmem A500/A500+ ,saving 80% of chip,and booting on a disk with a
  247.     huge startup-sequence may not be the best solution!Cut down the
  248.     startup,or just decrease save %
  249.  
  250.                 Syntax: Percent 70 for example...(hard,no?)
  251.     
  252.  
  253.     REMOVE/FREEMEM/SAVE/FORCE may not (of course) be used in the same time!
  254.     But the exception is that PERCENT can be used with FORCE...
  255.  
  256.  
  257.  
  258. 3. The best way to use this tool
  259. --------------------------------
  260.  
  261.     * install it.(I have put 'Chipsaver >NIL:' in my User-startup,it's
  262.              a handy way:it's always active since the 1st boot!! )
  263.  
  264.     * Always keep a disk with ExoticBoot installed,and that launches
  265.             Exoticripper on startup.
  266.  
  267.     * before launching a demo,use LMB+button.At least,the memory 'll be
  268.         cleaned...and Nofastmem may work (see paragraph 4)
  269.  
  270.     * Watch the nice demo...Hear the great tune...
  271.  
  272.     * reset!
  273.  
  274.     * press on the button(s) corresponding to the action you want!
  275.     (if you have more fast than chip,make your first try with the
  276.         'standard' method:left mouse button)
  277.  
  278.             then 2 possibilities...
  279.  
  280.     - A green flash ? it's OK! Maybe you'll find a module!!
  281.      Otherwise,you can try multiple attempts as follows:
  282.             - load demo,reset,do nothing
  283.             - load demo,reset,LMB
  284.             - load demo,reset,joybutton
  285.         (one of these combinations may work...)
  286.  
  287.  
  288.     - No flash!! Aouch,we've been destroyed! Quickly insert your exotic
  289.         disk and hope the module's not too low!
  290.  
  291.                 then...
  292. For Exoticripper v2.22/2.23 users:
  293. ----------------------------------
  294.     * In Exotic ripper,type "A H" (sets range to the zone we've allocated)
  295.             then hunt in your favorite mode...
  296.  
  297. For Prowizard version 2.1 users:
  298. -------------------------------
  299.     * Gryzor should have added by now a 'scan buffer' option...so no need 
  300.         to use the old method anymore (SAVE buff,reload it etc...)
  301.  
  302.  
  303. For those who have both these progs:
  304. ------------------------------------
  305.     try both of them!! Wow what a useful advice!!
  306.  
  307.     By the way,are you a REGISTERED user of these 2 EXCELLENT progs????
  308.  
  309.  
  310. Last useful hint
  311. ----------------
  312.     * light a candle,pray,ask God to help you,maybe you'll have a module
  313.                                 to save!!
  314.  
  315.  
  316.  
  317. 4. Some Technical info
  318. ----------------------
  319.     * ChipSaver will stay in memory until:
  320.  
  321.         - his zone is trashed (oups!)
  322.         - the system is really trashed (execbase mainly)
  323.  
  324.     * I could have made a nice intro at boot,with a logo,a nice copperlist,
  325.         menues,keytests etc...but I didn't for 2 reasons:
  326.  
  327.         - All this uses Chipmem!!(anyway,the trashed zones could be
  328.             copied in fast before...but it's a bit messy!!)
  329.  
  330.         - As the prog executes at the VERY BEGINNING of    the reset,I
  331.           have a funny(?) problem:I can't test Right mouse button,
  332.           or the keyboard!! it seems that the chips need some init
  333.           from the Gameport device & keyboard.device!!(I tried to
  334.           put ChipSaver after theses inits:the RMB/keytests work!!)
  335.           My chipdocs are not very explicit,so if anybody has an
  336.           idea...
  337.             (so that's why I use the Joybutton!)
  338.  
  339.     * Fastmem disabling is not just clearing MaxExtMem!! I just savagely
  340.         cut the Memheader from Execbase's Memlist...It works really
  341.         fine,except that if you boot on your Wbench,you may have
  342.         a few Recoverable alerts,which is absolutely NORMAL,as some
  343.         Fastmem was used by exec before the header was cut,so when
  344.         there's an attempt to restitute it...the system just wonders
  345.         where is this Fast-zone he's trying to free!
  346.  
  347.     This feature won't work,of course,if some (bully!) coder,tries a stuff
  348.         like:
  349.  
  350.         Ramtest    move.l    4.w,a0
  351.             move.l    maxlocmem(a0),d0;max chip
  352.             lea    $f80000,a0    ;kickstart
  353.         .loop    move.l    #$BADDEED,(a0)    ;poke
  354.             cmp.l    #$BADDEED,(a0)    ;peek
  355.             beq    .found_highest_mem
  356.             sub.l    #(256*1024),a0    ;steps of 256 Kb
  357.             cmp.l    d0,a0
  358.             bne    .loop
  359.             ....
  360.             ....
  361.             etc etc etc
  362.  
  363.     I think this is the most commonly way used by coders,but it's really
  364.     savage and it shouldn't recognize all extensions (big 128 Mbytes
  365.     expansions with 68030+MMU for instance).
  366.         
  367.     * Recognition by ExoticRipper:ChipSaver uses the same recognition as
  368.         Exoticboot:    - addr of saved mem in $100
  369.                 - Allocbuffer structure:dc.l    $DEADBEEF
  370.                             dc.l    size
  371.                             dc.l    origin
  372.         & added Chipsaver's flag (ignored)    dc.l    $BADFEED (!!)
  373.  
  374.     * coded on Trashm'onev1.6 then Asm-one v1.25...
  375.  
  376. 5. Installation:
  377. ----------------
  378.     Very easy:just drag the icon...For this prog,I used a REAL Tool icon,
  379.     and not an IconX script+Project icon,because the parameters are not
  380.     essential.
  381.  
  382.  
  383. 6. Disclaimer/Distribution:
  384. ---------------------------
  385.     You use this program at your own risks! It is provided "as-is",
  386. without any warranties on its reliability.I may not,by any means, be held
  387. responsible for any bugs/breakdowns/damages caused to your software/hardware,
  388. by ChipSaver.
  389.  
  390.     This program may be spread freely as long as no fee other than
  391. transport/disk is asked for,and the files remain together,not modified.
  392. (except for archiving purposes)
  393.  
  394.  
  395. 7. About ripping:
  396. -----------------
  397.     First of all,when you rip a module,I think it's for your own pleasure,
  398. so,there is no reason to put in the sample-comments:It's ME who ripped this
  399. module,MY name is blah blah blah...MY group is bluh bluh bluh...and the 
  400. author is..well,I don't know!...
  401.     Well,my idea is that ripping is worth signing only if you've ripped
  402. a new format,or ripped something 'by hand'.Anybody can use (the excellent)
  403. exoticripper or (the great) Pro-wizard,and put its name in the mod!
  404.  
  405.     So,that's what I propose to put in a ripped/converted module:
  406.  
  407.     * author's name,if not present
  408.         by author/name (recognized by EaglePlayer)
  409.     &    #author/name   (------------- Delitracker)
  410.  
  411.     for the lazy ones,just put #by author/name !!
  412.         
  413.     * the tools which made the rip possible:
  414.         Exoticripper Vx.x,Prowizard Vx,Chipsaver(pleaase!)
  415.  
  416.     * your name,if it's absolutely necessary to your mental health!
  417.  
  418.     * a nice thing is to put the author in the FILE COMMENT.I always do it
  419.         because that's how I make my module-lists.And you know
  420.         directly who composed the tune,when using your copy-tool...
  421.  
  422.  
  423. 8. Comparison between Exoticboot/ExoticReset/Chipsaver
  424. ------------------------------------------------------
  425.  
  426. Exoticboot has a big advantage:it can't be destroyed by the demo..So it will
  427. always be there when you need it.Its disadvantage is that it trashes the lower
  428. chipmem.
  429.  
  430. ChipSaver has the same disadvantages that ExoticReset:this time,it CAN be
  431. destroyed,and you may not always see it appear after the demo!!But it has
  432. the advantages of providing 2 ways of saving,and it's a "dormant" prog:it'll
  433. stay quietly waiting for your orders at every reset...No need to load exotic
  434. to clear the chunks before a demo,set the reset option etc...
  435.  
  436. Well I won't argue for a long time about the abilities of MY prog.it's of course
  437. the best one as it's MY prog.You may of course not have the same opinion!!
  438.  
  439.  
  440. As a conclusion,using boot+chipsaver like described in 3) in the best
  441. solution...Good luck!
  442.  
  443.  
  444. 9. Bug Fixes from 1.1
  445. ---------------------
  446.  
  447. * ENORMOUS bug fixed: When using the main option (lmb),the image buffer of
  448.   chipmem was created in fastmem,but all the chipmem WASN'T COPIED into it!
  449.   All this bcoz of an extremely tiny error in the copying routine's size
  450.   checking;so there was what happened for example:
  451.  
  452.     -A1200 2Mb chip/4Mb fast :    Fast Image Buffer = 2Mb (ok!)
  453.                     REALLY copied chip= 512 kb !!!!!!!!!
  454.  
  455.     -A2000 1Mb chip/2Mb fast :    Fast Image Buffer = 1 Mb (ok!!)
  456.                     REALLY copied chip= 256 kb!!!!!
  457.  
  458.     In fact,you understood,the REALLY copied data was always ONE QUARTER
  459.     of the (normal) imagebuffer size!!!....OUPS! SORRY !
  460.  
  461.  
  462.      Very small explanation for curious programmers....others may skip!
  463.  
  464.     (I had forgotten an oooold lsr.l #2 somewhere...was originally used
  465.      when the copy loop worked with a dbra.Now the loop works with a
  466.      test (reached upper addr?),so I was testing IN FACT if I had reached
  467.      the QUARTER of the top addr!!...Why a lsr? Only because I have used
  468.      move.L (a0)+,(a1)+ instead of a move.b,in order to speed up copying
  469.      on the real 32 bits machines...A1200 RULEZ hahaha)
  470.  
  471. * An extremely tiny bug:In CS v1.1,when using the Memclear+Nofast option,I had
  472.  forgotten to recalculate Execbase's checksum after clearing the MaxExtMem
  473.  field.Anyway it surely didn't have any consequences,but now the code is
  474.  cleaner,if by any 'chance' somebody wanted to verify the Checksum!
  475.  
  476.  
  477. 10. The end
  478. -----------
  479.  
  480. Well,I hope you'll find this tool useful!Anyway,tell me about it,if you
  481. find bugs,if you like it,if you have any ideas for improvements (?) etc...
  482.  
  483. I'm also looking for (real) Synthmodules of any kind,protracks etc...
  484.  
  485.  
  486.  
  487.  
  488.                         [The Cyborg/NGC]
  489.  
  490.     
  491.                         Nasr Alexis
  492.                     27,Rue Formigé,Residence RENOIR
  493.                            33110 Le Bouscat, FRANCE
  494.  
  495.             Commodore is dead...Amiga's alive
  496.  
  497.  
  498.